package com.ruoyi.project.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import java.util.Arrays;

/**
 * 项目风险对象 project_risk
 * 
 * @author renyuxin
 * @date 2024-06-05
 */
public class ProjectRisk extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 项目风险主键 */
    private Long riskId;

    /** 项目主键 */
    @Excel(name = "项目主键")
    private Long projectId;

    /** 风险类别主键 */
    private Long risktypeId;

    /** 项目风险标题 */
    @NotBlank(message = "风险类别主键不能为空")
    @Length(max = 36, message = "风险类别主键长度不能超过36个字符")
    @Excel(name = "项目风险标题")
    private String riskTitle;

    /** 跟进人-用户主键 */
    @Excel(name = "跟进人-用户主键")
    private Long userId;

    /** 状态,1-待跟进,2-跟进中,3-已解决 */
    @Excel(name = "状态,1-待跟进,2-跟进中,3-已解决")
    private Integer riskStatus;

    /** 风险内容 */
    @NotBlank(message = "风险内容不能为空")
    @Length(max = 200, message = "风险内容长度不能超过200个字符")
    @Excel(name = "风险内容")
    private String riskContent;

    /** 风险类别名称 */
    private String risktypeName;

    /** 项目名称 */
    private String projectName;

    /** 跟进人昵称 */
    private String nickName;

    /** 跟进人用户名 */
    private String userName;

    /** 用户能看见的项目主键 */
    private Integer[] projectIds;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    @Override
    public String toString() {
        return "ProjectRisk{" + "riskId=" + riskId +
                ", projectId=" + projectId +
                ", risktypeId=" + risktypeId +
                ", riskTitle='" + riskTitle + '\'' +
                ", userId=" + userId +
                ", riskStatus=" + riskStatus +
                ", riskContent='" + riskContent + '\'' +
                ", risktypeName='" + risktypeName + '\'' +
                ", projectName='" + projectName + '\'' +
                ", nickName='" + nickName + '\'' +
                ", userName='" + userName + '\'' +
                ", projectIds=" + Arrays.toString(projectIds) +
                '}';
    }

    public Integer[] getProjectIds() {
        return projectIds;
    }

    public void setProjectIds(Integer[] projectIds) {
        this.projectIds = projectIds;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getRisktypeName() {
        return risktypeName;
    }

    public void setRisktypeName(String risktypeName) {
        this.risktypeName = risktypeName;
    }

    public void setRiskId(Long riskId)
    {
        this.riskId = riskId;
    }

    public Long getRiskId() 
    {
        return riskId;
    }
    public void setProjectId(Long projectId) 
    {
        this.projectId = projectId;
    }

    public Long getProjectId() 
    {
        return projectId;
    }
    public void setRisktypeId(Long risktypeId) 
    {
        this.risktypeId = risktypeId;
    }

    public Long getRisktypeId() 
    {
        return risktypeId;
    }
    public void setRiskTitle(String riskTitle) 
    {
        this.riskTitle = riskTitle;
    }

    public String getRiskTitle() 
    {
        return riskTitle;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setRiskStatus(Integer riskStatus) 
    {
        this.riskStatus = riskStatus;
    }

    public Integer getRiskStatus() 
    {
        return riskStatus;
    }
    public void setRiskContent(String riskContent) 
    {
        this.riskContent = riskContent;
    }

    public String getRiskContent() 
    {
        return riskContent;
    }

}
